/*
Problem Description
输入n(n<100)个数，找出其中最小的数，将它与最前面的数交换后输出这些数。
Input
输入数据有多组，每组占一行，每行的开始是一个整数n，表示这个测试实例的数值的个数，跟着就是n个整数。n=0表示输入的结束，不做处理。
Output
对于每组输入数据，输出交换后的数列，每组输出占一行。
Sample Input
4 2 1 3 4
5 5 4 3 2 1
0
Sample Output
1 2 3 4
1 4 3 2 5
 */
package com.yuan.algorithms.practice201511;

import java.util.Scanner;

/**
 * @author YouYuan
 * <br>E-mail:1265161633@qq.com
 * <br>创建时间：2015年11月21日 上午9:22:35
 * <br>说明:
 */
public class 交换最小的数 {

	static int[] arr = new int[103];
	static Scanner in = new Scanner(System.in);
	public static void main(String[] args) {
		while(in.hasNext()) {
			int n = in.nextInt();
			if (n==0) {
				break;
			}
			int min = 0xfffffff;
			int index = 0;
			for (int i = 0; i < n; i++) {
				int k = in.nextInt();
				if (k < min) {
					min = k;
					index = i;
				}
				arr[i] = k;
			}
			int temp = arr[0];
			arr[0] = min;
			arr[index] = temp;
			for (int i = 0; i < n; i++) {
				System.out.print(i==0 ? "" : " ");
				System.out.print(arr[i]);
			}
			System.out.println();
		}
	}

}
